package member.order.model;

import m.common.model.FieldMeta;
import m.common.model.LinkTableMeta;
import m.common.model.Model;
import m.common.model.TableMeta;
import m.common.model.type.FieldType;
import member.base.model.StoreInfo;
import member.base.model.UserInfo;

import java.util.Date;

@TableMeta(name="o_store_settle",description="店铺结算表")
public class StoreSettle extends Model {

    @FieldMeta(name = "pay_amount",type = FieldType.DOUBLE,defaultValue = "0",description = "付款金额")
    private Double payAmount;
    @FieldMeta(name = "give_amount",type = FieldType.DOUBLE,defaultValue = "0",description = "赠送金额")
    private Double giveAmount;
    @FieldMeta(name = "settle_amount",type = FieldType.DOUBLE,defaultValue = "0",description = "结算金额")
    private Double settleAmount;
    @LinkTableMeta(name="settle_store_oid",table= StoreInfo.class,description="结算店铺")
    private StoreInfo settleStore;
    @FieldMeta(name="status",type= FieldType.STRING,description="状态",defaultValue = "N",dictOption = "Y:已结算,N:待结算,A:结算中")
    private String status;
    public final static String StatusSave="N";
    public final static String StatusConfirm="A";
    public final static String StatusDone="Y";
    @FieldMeta(name="remark",type= FieldType.STRING,length=500,description="备注")
    private String remark;
    @FieldMeta(name="confirm_remark",type= FieldType.STRING,length=500,description="确认备注")
    private String confirmRemark;
    @LinkTableMeta(name="input_store_oid",table= StoreInfo.class,description="录入店铺")
    private StoreInfo inputStore;
    @LinkTableMeta(name="input_user_oid",table= UserInfo.class,description="录入人")
    private UserInfo inputUser;
    @FieldMeta(name="input_date",type= FieldType.DATE,defaultValue = "CURRENT_TIMESTAMP",description="录入时间")
    private Date inputDate;
    @LinkTableMeta(name="confirm_user_oid",table= UserInfo.class,description="确认人")
    private UserInfo confirmUser;
    @FieldMeta(name="confirm_date",type= FieldType.DATE,description="确认时间")
    private Date confirmDate;

    public Double getSettleAmount() {
        return settleAmount;
    }

    public void setSettleAmount(Double settleAmount) {
        this.settleAmount = settleAmount;
    }

    public UserInfo getConfirmUser() {
        return confirmUser;
    }

    public void setConfirmUser(UserInfo confirmUser) {
        this.confirmUser = confirmUser;
    }

    public Date getConfirmDate() {
        return confirmDate;
    }

    public void setConfirmDate(Date confirmDate) {
        this.confirmDate = confirmDate;
    }

    public UserInfo getInputUser() {
        return inputUser;
    }

    public void setInputUser(UserInfo inputUser) {
        this.inputUser = inputUser;
    }

    public StoreInfo getInputStore() {
        return inputStore;
    }

    public void setInputStore(StoreInfo inputStore) {
        this.inputStore = inputStore;
    }

    public Date getInputDate() {
        return inputDate;
    }

    public void setInputDate(Date inputDate) {
        this.inputDate = inputDate;
    }

    public Double getPayAmount() {
        return payAmount;
    }

    public void setPayAmount(Double payAmount) {
        this.payAmount = payAmount;
    }

    public Double getGiveAmount() {
        return giveAmount;
    }

    public void setGiveAmount(Double giveAmount) {
        this.giveAmount = giveAmount;
    }

    public StoreInfo getSettleStore() {
        return settleStore;
    }

    public void setSettleStore(StoreInfo settleStore) {
        this.settleStore = settleStore;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public String getConfirmRemark() {
        return confirmRemark;
    }

    public void setConfirmRemark(String confirmRemark) {
        this.confirmRemark = confirmRemark;
    }
}
